﻿using System;

namespace Nardax.ServiceModel
{
    public interface IServiceProxy<out TServiceContract> where TServiceContract : class
    {
        void Call(Action<TServiceContract> method);

        TResult Call<TResult>(Func<TServiceContract, TResult> method);

        void Close();

        string EndpointName { get; set; }
    }
}
